package com.hex.ds.hdtp.core.app.script.transfer.service;

import com.hex.ds.hdtp.core.app.common.page.PageData;
import com.hex.ds.hdtp.core.app.common.page.dto.PageDto;
import com.hex.ds.hdtp.core.app.script.transfer.dto.request.ScriptConvertTargetListRequestDto;
import com.hex.ds.hdtp.core.app.script.transfer.dto.response.ScriptConvertTargetListResponseDto;

import java.util.List;

/**
 * @Package: com.hex.ds.hdtp.core.app.script.transfer.service
 * @ClassName IScriptConvertTargetListService
 * @Description: 脚本转换-转换后文件-业务接口
 * @Author: wz.li
 * @Date 2023/8/14 16:40
 * @Version v2.0.2
 **/
public interface IScriptConvertTargetListService {

    PageData queryListByPage(ScriptConvertTargetListRequestDto scriptConvertTargetListRequestDto, PageDto pageDto);

    /*
     * @Method: queryListByTaskId <br>
     * @Param: [convertTaskId] <br>
     * @Return: java.util.List<com.hex.ds.hdtp.core.app.script.transfer.dto.response.ScriptConvertTargetListResponseDto> <br>
     * @Description：获取指定转换任务的转换文件清单<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/14 20:27 <br>
     * @Version： V2.0.2<br>
     */
    List<ScriptConvertTargetListResponseDto> queryListByTaskId(String convertTaskId);

    /*
     * @Method: queryById <br>
     * @Param: [pkId] <br>
     * @Return: com.hex.ds.hdtp.core.app.script.transfer.dto.response.ScriptConvertTargetListResponseDto <br>
     * @Description：根据主键查询<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/15 10:25 <br>
     * @Version： V2.0.2<br>
     */
    ScriptConvertTargetListResponseDto queryById(String pkId);

    /*
     * @Method: queryConvertHistoryCompareContent <br>
     * @Param: [crunSourceListPkId, histSourceListPkId, convertFileName] <br>
     * @Return: com.hex.ds.hdtp.core.app.script.transfer.dto.response.ScriptConvertTargetListResponseDto <br>
     * @Description：获取指定的转换历史文件对比内容<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/16 16:46 <br>
     * @Version： V2.0.2<br>
     */
    ScriptConvertTargetListResponseDto queryConvertHistoryCompareContent(String crunSourceListPkId,
                                                                         String histSourceListPkId,
                                                                         String convertFileName);

    /*
     * @Method: add <br>
     * @Param: [scriptConvertTargetListRequestDto] <br>
     * @Return: java.lang.String <br>
     * @Description：新增<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/14 17:14 <br>
     * @Version： V2.0.2<br>
     */
    String add(ScriptConvertTargetListRequestDto scriptConvertTargetListRequestDto);

    /*
     * @Method: modifyById <br>
     * @Param: [scriptConvertTargetListRequestDto] <br>
     * @Return: void <br>
     * @Description：根据主键更新<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/15 9:25 <br>
     * @Version： V2.0.2<br>
     */
    void modifyById(ScriptConvertTargetListRequestDto scriptConvertTargetListRequestDto);

    /*
     * @Method: removeByTaskId <br>
     * @Param: [convertTaskPkId] <br>
     * @Return: void <br>
     * @Description：根据转换任务删除<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/16 13:43 <br>
     * @Version： V2.0.2<br>
     */
    void removeByTaskId(String convertTaskPkId);

    /*
     * @Method: updateFileContent <br>
     * @Param: [scriptConvertTargetListRequestDto] <br>
     * @Return: void <br>
     * @Description：更新指定转换后文件内容<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/16 17:19 <br>
     * @Version： V2.0.2<br>
     */
    void updateFileContent(ScriptConvertTargetListRequestDto scriptConvertTargetListRequestDto);

    /*
     * @Method: reverify <br>
     * @Param: [pkId] <br>
     * @Return: void <br>
     * @Description：重新验证指定脚本<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/29 14:11 <br>
     * @Version： V2.0.2<br>
     */
    void reverify(String pkId);

    /*
     * @Method queryTestListByPage <br>
     * @param scriptConvertSourceListRequestDto
     * @param pageDto <br>
     * @Return com.hex.ds.hdtp.core.app.common.page.PageData <br>
     * @Description 分页查询最新成功的脚本<br>
     * @Author Yin.Yang<br>
     * @Date 2023/8/30 9:45 <br>
     * @Version V1.0<br>
     */
    PageData querySuccessListByPage(ScriptConvertTargetListRequestDto scriptConvertTargetListRequestDto, PageDto pageDto);
}
